18 research outputs found
Globally Distributed Software Process Engineering
Software processes is becoming a more addressed
issue in software development companies every day. These
processes are defined regardless of the environment in which
they run. To incorporate aspects of that environment is essential,
especially if referring to GSE. Despite this fact, the process itself
should not be necessary modified. This paper provides a first
draft of a research focused on software process definition,
modeling, implementation and evaluation in a GSE environment,
so as to facilitate the information exchange through a
hierarchical process that does not involve modification of specific
processes.Ministerio de Educación y Ciencia TIN2007-67843-C06-03Ministerio de Educación y Ciencia TIN2010-20057-C03-0
Un marco de referencia para facilitar la interoperabilidad y mantenibilidad de los modelos de procesos de software
Falta palabras clavesHoy en día los sistemas software son cada vez más complejos y su desarrollo se convierte en un desafío continuo para las empresas de software que deben adaptar su forma de trabajar al entorno cambiante, dinámico y globalizado que las caracteriza. En aras de la fabricación de productos software de calidad, en un tiempo de acceso al mercado adecuado y con un coste competitivo, los procesos de software se han convertido en uno de los activos fundamentales de cualquier empresa del sector de las tecnologías de la información y las comunicaciones (TIC). Son muchos los estándares y modelos de referencia, que la industria del software usa y aplica, que establecen la importancia de tener definidos y documentados los procesos de software, estableciendo qué características o requerimientos deberán cumplir, pero no indican cómo definir esos procesos. La búsqueda de la mejor forma de representar y definir los procesos de software dentro de las organizaciones, para garantizar su uso de forma sistemática e institucionalizada, ha sido objeto de estudio desde hace décadas, mediante la creación de diferentes lenguajes de modelado de procesos de software. Desde los años 90 más de una treintena de lenguajes significativos han sido desarrollados con el objetivo de modelar los procesos de software. Cada uno de estos lenguajes era creado para solventar algún problema existente que no estaba resuelto con los anteriores, pero con el mismo objetivo: obtener los modelos de procesos y sistematizar su uso en las empresas de software. Varias han sido las tendencias sobre las tecnologías base para su modelado, desde la creación de nuevos lenguajes de programación específicos para procesos, pasando por la formalidad de las redes de Petri, hasta los más modernos enfoques basados en modelos de acuerdo con el paradigma de la ingeniería dirigida por modelos (Model Driven Engineering, MDE). Sin embargo, a pesar de todos los esfuerzos por generar un lenguaje de modelado de procesos de software que sobresaliera por encima del resto y se convirtiera en un estándar de uso generalizado por las organizaciones de software a nivel mundial, ninguno ha tenido una aceptación muy superior al resto. Ni siquiera el respaldo de los más importantes organismos de estandarización en el ámbito del software ha conseguido cambiar esta inercia, ya sea por el conocimiento existente en los ingenieros de procesos o por la dinámica heredada por el sector en el que una empresa se mueve. Cada organización selecciona el lenguaje de modelado de procesos de software que considera más adecuado en sus inicios, estableciendo un vínculo tan fuerte que es difícil de romper más adelante, de forma que si las necesidades evolucionan con el tiempo, es preciso un cambio de lenguaje o, simplemente, es necesario que los procesos de una organización interoperen con los de otras para llevar a cabo algún proyecto específico, la actividad de transformación o traducción a otros lenguajes se convierte en una tarea muy costosa en tiempo y esfuerzo de personal, generadora de errores e inconsistencias. A diferencia de las propuestas de estandarización más extendidas, el planteamiento en este trabajo de tesis aboga por mantener la diversidad de lenguajes de modelado de procesos de software en la organizaciones de la forma en la que éstas lo consideren oportuno, siendo su objetivo fundamental el desarrollo de un marco de referencia para facilitar, mejorar y agilizar la interoperabilidad y mantenibilidad de los modelos de procesos de software, independientemente del lenguaje elegido para su modelado. Para alcanzarlo, el marco de referencia está basado en tres pilares fundamentales. El primero de ellos consiste en un lenguaje de modelado de procesos de software adecuado para el marco, que se considera como un lenguaje base y al que hemos denominado INROMA (INteROperabilidad y MAntenibilidad). Dicho lenguaje se caracteriza por ser de fácil aprendizaje y por contener únicamente aquellos conceptos necesarios comunes para la definición y modelado de cualquier proceso de software, siguiendo la norma ISO/IEC TR 24744:2007, por lo que se convierte en una pieza clave para la interoperabilidad y mantenibilidad de los mismos. Estas características le convierten en un lenguaje de fácil acceso para cualquier organización, y no privilegia ningún lenguaje de modelado de procesos de software existente frente al resto. En el desarrollo de INROMA se han definido tanto su sintaxis abstracta, siguiendo el paradigma MDE, mediante un metamodelo, algo básico para obtener las funcionalidades del marco, como su sintaxis concreta, en su uso como lenguaje. El segundo de los pilares fundamentales es el método mediante el que se establecen las bases teóricas que permiten incorporar nuevos lenguajes de modelado de procesos de software al marco de referencia. Por último, el tercero de los pilares son las transformaciones que formalizan las correspondencias y se constituyen como el nexo entre cualquier lenguaje de modelado de procesos de software incorporado al marco de referencia e INROMA. Los tres elementos conforman el marco de referencia para facilitar la interoperabilidad y mantenibilidad de los procesos de software. Teniendo en cuenta que uno de los principales propósitos en el desarrollo de este trabajo de tesis es lograr su utilización en entornos empresariales, para conseguir un importante impacto en estos ámbitos todo este fundamento teórico se completa con MONETA, una herramienta de soporte para el marco de referencia, proporcionando asistencia y automatización en su uso. Dicha herramienta ha sido validada mediante casos de estudio reales extraídos de proyectos de transferencia con empresas en los que se observa cómo la propuesta desarrollada ha sido de gran utilidad en los mismos. En definitiva, esta tesis doctoral plantea el desarrollo de un marco de referencia para facilitar la interoperabilidad y mantenibilidad de los modelos de procesos de software, abordando tanto el planteamiento teórico que los sustenta como la parte práctica mediante una herramienta de soporte para su utilización en empresas
Don’t Throw your Software Prototypes Away. Reuse them!
The mechanism of prototype development is considered by the research and industrial software communities as a key tool for user-developer communication. In software development, prototypes are used in requirements engineering to help elicit and validate users’ needs. Software prototypes like mockups are frequently considered throwaway artefacts and therefore they are often developed very fast, or with very few resources and discarded. In this paper we propose to change this idea, and to create prototypes that can be reused in any model-driven engineering (MDE) process. The paper presents an approach for an automatic mechanism for translating prototype models into requirements models and its implementation in a suitable tool case. This way, software developer teams will be able to dedicate resources to improving communication with users using prototypes because the knowledge acquired will be automatically transferred to the requirements phase of the development process
Lean requirements traceability automation enabled by model-driven engineering
Background: The benefits of requirements traceability, such as improvements in
software product and process quality, early testing, and software maintenance, are
widely described in the literature. Requirements traceability is a critical, widely
accepted practice. However, very often it is not applied for fear of the additional costs
associated with manual efforts or the use of additional tools.
Methods: This article presents a “low-cost” mechanism for automating requirements
traceability based on the model-driven paradigm and formalized by a metamodel for
the creation and monitoring of traces and an integration process for traceability
management. This approach can also be useful for information fusion in industry
insofar that it facilitates data traceability.
Results: This article extends an existing model-driven development methodology to
incorporate traceability as part of its development tool. The tool has been used
successfully by several companies in real software development projects, helping
developers to manage ongoing changes in functional requirements. One of those
projects is cited as an example in the paper. The authors’ current work leads them to
conclude that a model-driven engineering approach, traditionally used only for
the automatic generation of code in a software development process, can also be used
to successfully automate and integrate traceability management without additional
costs. The systematic evaluation of traceability management in industrial projects
constitutes a promising area for future work.Junta de Andalucía AT17-5904-USEJunta de Andalucía US-1251532Ministerio de Ciencia, Innovación y Universidades PID2019-105455GB-C3
Software Process Management: A Model- Based Approach
Business processes constitute one major asset in an organization
and software businesses are not an exception. Processes defi nition, maintenance,
and management are key aspects to control and defi ne how to build software
systems up and also to support decision-making. In this paper, a model-based
approach is proposed to facilitate these processes. Thus, a global environment for
business processes in software development is presented. The fi nal results are
illustrated through the NDTQ-Framework, a solution based on this approach that
is currently being used in software development organizations.Ministerio de Ciencia e Innovación TIN2010-20057-C03-02Ministerio de Ciencia e Innovación TIN 2010-12312-EJunta de Andalucía TIC-578
NDT-Suite: A Model-Based Suite for the Application of NDT
In general, a methodology needs to be empowered by appropriate
tool support. Despite MDE paradigm does not result friendly enough in enterprise
environments, particularly, the application of transformations among
models may become complex, monotonous and very expensive if there are no
software tools automating the process. In this context, this research paper presents
NDT-Suite. Nowadays, NDT-Suite is composed by a wide set of free Java
tools which gives support to enterprises that are using NDT (Navigational Development
Techniques) methodology in their projects. All of them support
different aspects in NDT usage: quality assurance, exit generation or code
checking, among others. These seeds set the environment for NDT usage for
both research and practical use.Ministerio de Ciencia e Innovación TIN2010-20057-C03-02Ministerio de Ciencia e Innovación TIN 2010-12312-EJunta de Andalucía TIC-578
Software Process Accessibility in practice: a case study
Software processes are recognized as fundamental assets in development organizations since they support the capability to produce
better products. A means for handling the complexity of these processes is through models, and software process modeling
languages (SPMLs) are languages to express those processes. Different requirements for SPMLs have been identified by some
authors, but accessibility is not one of them. There is little empirical evidence of the use of software processes by people with
accessibility difficulties in software organizations. The goal of this case study is to investigate what are the requirements to make
software processes become accessible. The subjects are users of a methodology called NDT and its support tools, and who have a
kind of disability. The objective is to know the main requirements in order to read and execute software processes and become a
process engineer. Conclusions and future work in this field are also presented to improve this area.Ministerio de Educación y Ciencia TIN2010-20057-C03-02Ministerio de Educación y Ciencia TIN2010-20057-C03-01Junta de Andalucía TIC-578
A model‐based solution for process modeling in practice environments: PLM4BS
Today's world economic situation is ruled by issues such as reducing cost, improving
quality, maximizing profit, and improving and optimizing processes at organizations. In
this context, business process management can be an essential strategy, but it is not
usually consolidated at software organizations because software process properties
involve a complex business process management application on software lifecycle.
Consequently, software organizations often focus on Software Process Modeling
(SPM), and each involved role performs process execution and orchestration independently
and manually. This fact makes software processes maintenance, monitoring,
and measurement become difficult tasks. This paper proposes a model‐based
approach for SPM taking into account concepts related to process execution, orchestration,
and monitoring. It is framed into a model‐driven engineering‐based and toolbased
framework: Process Lifecycle Management for Business Software (PLM4BS).
We present a SPM metamodel and its concrete syntax (through Unified Modeling
Language profiles) that lays the foundation for extending PLM4BS. Its underlying
metamodel allows managing processes automatically. Furthermore, PLM4BS improves
current state‐of‐the‐art proposals in 6 dimensions: expressiveness, understandability,
granularity, measurability, orchestrability, and business variables and rules. Also,
PLM4BS has been evaluated in a multiple‐case study, in which the 6 mentioned
dimensions were already validated.Ministerio de Economía y Competitividad TIN2016‐76956‐C3‐2‐RMinisterio de Economía y Competitividad TIN2015‐71938‐RED
A Model-Driven Approach for Business Process Management
The Business Process Management is a common mechanism recommended by a high number of standards for the management of companies and organizations. In software companies this practice is every day more accepted and companies have to assume it, if they want to be competitive. However, the effective definition of these processes and mainly their maintenance and execution are not always easy tasks. This paper presents an approach based on the Model-Driven paradigm for Business Process Management in software companies. This solution offers a suitable mechanism that was implemented successfully in different companies with a tool case named NDTQ-Framework.Ministerio de Educación y Ciencia TIN2010-20057-C03-02Junta de Andalucía TIC-578
Software process modeling languages: A systematic literature review
Context
Organizations working in software development are aware that processes are very important assets as well as they are very conscious of the need to deploy well-defined processes with the goal of improving software product development and, particularly, quality. Software process modeling languages are an important support for describing and managing software processes in software-intensive organizations.
Objective
This paper seeks to identify what software process modeling languages have been defined in last decade, the relationships and dependencies among them and, starting from the current state, to define directions for future research.
Method
A systematic literature review was developed. 1929 papers were retrieved by a manual search in 9 databases and 46 primary studies were finally included.
Results
Since 2000 more than 40 languages have been first reported, each of which with a concrete purpose. We show that different base technologies have been used to define software process modeling languages. We provide a scheme where each language is registered together with the year it was created, the base technology used to define it and whether it is considered a starting point for later languages. This scheme is used to illustrate the trend in software process modeling languages. Finally, we present directions for future research.
Conclusion
This review presents the different software process modeling languages that have been developed in the last ten years, showing the relevant fact that model-based SPMLs (Software Process Modeling Languages) are being considered as a current trend. Each one of these languages has been designed with a particular motivation, to solve problems which had been detected. However, there are still several problems to face, which have become evident in this review. This let us provide researchers with some guidelines for future research on this topic.Ministerio de Economía y Competitividad TIN2010-20057-C03-02Ministerio de Economía y Competitividad TIN 2010-12312-EJunta de Andalucía TIC-578